#!/bin/bash

echo "=== 测试禁用服务对应用的影响 ==="
echo ""

echo "1. 检查应用启动日志中的错误..."
echo ""

echo "2. 测试Redis连接..."
if redis-cli ping > /dev/null 2>&1; then
    echo "✅ Redis服务正常运行"
else
    echo "❌ Redis服务未运行"
fi

echo ""

echo "3. 测试RabbitMQ连接..."
if nc -z localhost 5672 2>/dev/null; then
    echo "✅ RabbitMQ服务正常运行"
else
    echo "❌ RabbitMQ服务未运行"
fi

echo ""

echo "4. 检查应用配置..."
echo "Redis配置:"
grep -A 5 "redis:" jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml | head -6

echo ""
echo "RabbitMQ配置:"
grep -A 5 "rabbitmq:" jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml | head -6

echo ""
echo "Redisson配置:"
grep -A 5 "redisson:" jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml | head -6

echo ""
echo "5. 分析禁用服务的影响..."

echo ""
echo "=== Redis使用情况分析 ==="
echo "项目中Redis主要用于："
echo "- 数据字典缓存 (DictAspect.java)"
echo "- 用户会话管理 (LoginController.java)"
echo "- 动态数据源缓存 (DataSourceCachePool.java)"
echo "- 网关路由缓存 (SysGatewayRouteServiceImpl.java)"
echo "- 在线用户管理 (SysUserOnlineController.java)"
echo "- 微信支付验证码 (WeChatPaymentServiceImpl.java)"

echo ""
echo "=== RabbitMQ使用情况分析 ==="
echo "项目中RabbitMQ主要用于："
echo "- 订单延迟队列 (orderReceiver.java)"

echo ""
echo "=== Redisson使用情况分析 ==="
echo "项目中Redisson主要用于："
echo "- 分布式锁 (jeecg-boot-starter-lock)"

echo ""
echo "6. 禁用服务的影响评估..."

echo ""
echo "✅ 正面影响："
echo "- 避免数据不一致问题"
echo "- 减少网络连接依赖"
echo "- 简化开发环境配置"

echo ""
echo "⚠️  潜在影响："
echo "- 数据字典查询性能可能下降（无缓存）"
echo "- 用户会话管理可能受影响"
echo "- 订单延迟处理功能可能失效"
echo "- 分布式锁功能失效"

echo ""
echo "🔧 建议解决方案："
echo "1. 如果Redis被禁用，数据字典会直接从数据库查询"
echo "2. 如果RabbitMQ被禁用，订单延迟处理需要其他方案"
echo "3. 如果Redisson被禁用，并发操作需要数据库级别的锁"

echo ""
echo "=== 测试完成 ===" 